﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ObservadorPeplau.API.Business;
using ObservadorPeplau.API.DAL;

namespace ObservadorPeplau.API
{
    public static class DiscussionManager
    {
        private static readonly DiscussionRegistryDAO MyDiscussionRegistryDAO = new DiscussionRegistryDAO();
        private static readonly DiscussionWebDAO MyDiscussionWebDAO = new DiscussionWebDAO();

        public static bool IsMarked(Discussion discussion, string mark)
        {
            return MyDiscussionRegistryDAO.IsMarked(discussion.Url, mark);            
        }
        public static bool IsMarked(Comment comment, string mark)
        {
            return MyDiscussionRegistryDAO.IsMarked(comment.Id.ToString(), mark);
        }

        public static void SetMarked(Discussion discussion, string mark, bool isMarked)
        {
            MyDiscussionRegistryDAO.SetMarked(discussion.Url, mark, isMarked);
            if (isMarked)
                SaveDiscussionOnRegistry(discussion);
        }
        public static void SetMarked(Comment comment, string mark, bool isMarked)
        {
            MyDiscussionRegistryDAO.SetMarked(comment.Id.ToString(), mark, isMarked);
        }

        public static List<Discussion> GetMarked(string mark)
        {
            return MyDiscussionRegistryDAO.GetMarked(mark);
        }

        public static void ClearMark(string mark)
        {
            MyDiscussionRegistryDAO.ClearMark(mark);           
        }

        public static List<Comment> GetCommentsFromWeb(string url)
        {
            return MyDiscussionWebDAO.GetCommentsFromWeb(url);
        }

        public static void SaveDiscussionOnRegistry(Discussion discussion)
        {
            MyDiscussionRegistryDAO.SaveDiscussionOnRegistry(discussion);
        }

        public static void GetDiscussionFromRegistry(string url)
        {
            MyDiscussionRegistryDAO.GetDiscussionFromRepository(url);
        }
    }
}
